package com.xhu.collegestudentrentalsystem.module.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zhu huilin
 * @date 2023/2/21 20:28
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Setter
@Getter
@TableName("house")
public class House {

    /**
     * 房子主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 房东用户id
     */
    private Long userId;
    /**
     * 出租类型 whole-整租；share-合租
     */
    private String rentType;
    /**
     * 房屋名称
     */
    private String title;
    /**
     * 详细描述内容
     */
    private String content;
    /**
     * 所在城市名称
     */
    private String city;
    /**
     * 所在详细地址，具体门牌号
     */
    private String address;
    /**
     * 缩略图url
     */
    private String thumbnailUrl;
    /**
     * 轮播图url
     */
    private String slideUrl;
    /**
     * 月租金额
     */
    private Integer monthRent;
    /**
     * 房屋状态 0-未出租；1-已出租；-1已下架；-2待审核；-3审核不通过；-4房东删除；-5管理员冻结
     */
    private Integer status;
    /**
     * 房产证号
     */
    private String certificateNo;
    /**
     * 卫生间数量
     */
    private Integer toiletNum;
    /**
     * 厨房数量
     */
    private Integer kichenNum;
    /**
     * 客厅数量
     */
    private Integer livingRoomNum;
    /**
     * 卧室数量
     */
    private Integer bedroomNum;
    /**
     * 是否有空调 1-有；0-无
     */
    private Integer hasAirConditioner;
    /**
     * 面积
     */
    private BigDecimal area;
    /**
     * 当前所在楼层
     */
    private Integer floor;
    /**
     * 房子最大楼层数
     */
    private Integer maxFloor;
    /**
     * 是否有电梯 1-是；0-否
     */
    private Integer hasElevator;
    /**
     * 建成年份
     */
    private Integer buildYear;
    /**
     * 朝向
     */
    private String direction;
    /**
     * 上次开始入住时间
     */
    private Date lastOrderStartTime;
    /**
     * 上次结束入住时间
     */
    private Date lastOrderEndTime;
    /**
     * 经纬度
     */
    private String longitudeLatitude;
    /**
     * 联系人姓名
     */
    private String contactName;
    /**
     * 联系人手机号码
     */
    private String contactPhone;

    /**
     * 轮播图列表
     */
    @TableField(exist = false)
    private List<String> slideImgList;

    /**
     * 租房情况
     */
    @TableField(exist = false)
    private Integer hasRentRoom;

    /**
     * 收藏情况
     */
    @TableField(exist = false)
    private Boolean isMarked;

    /**
     * 房子评分情况
     */
    @TableField(exist = false)
    private Double score;
}
